Application Specific Integrated Circuits (ASICs) and Field Programmable Gate Arrays (FPGAs) provide different technologies for implementing a custom integrated circuit. However, there is significant commercial and technical gap between ASIC and FPGA technologies. An ASIC is custom designed for a specific circuit application. An ASIC can offer optimum performance, but designing an ASIC is expensive and time-consuming. Circuit faults in ASICS can also be difficult and expensive to correct. An ASIC is also expensive to manufacture if in small volumes. An FPGA is a general purpose array of logic gates that can be configured as a custom circuit. An FPGA provides greater versatility than an ASIC, because an FPGA is not custom designed for a specific application. Although generally less expensive than an ASIC, an FPGA does not contain dedicated circuitry, and is less optimized than an ASIC. An FPGA has a certain amount of circuit overhead to facilitate the programmability of the FPGA, and is not useable as part of the custom circuit.
It would be desirable to implement a custom circuit efficiently within an integrated circuit that can include custom-independent fabrication layers and custom-specific fabrication layers.